-
Notifications
You must be signed in to change notification settings - Fork 142
ament_vendor: Add AMENT_VENDOR_NEVER_VENDOR #552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Silvio Traversaro <[email protected]>
clalancette
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems reasonable to me; I've left a couple of comments.
@cottsay Can you take a look and comment on whether this feature makes sense to you?
Co-authored-by: Chris Lalancette <[email protected]> Signed-off-by: Silvio Traversaro <[email protected]>
|
I'm 100% behind the idea here. Some thoughts: For better or worse, there are vendor packages which we never allow to be satisfied by system packages, and this change will break builds of those packages. Can we check that I never really liked the name Demo: https://gist.github.com/cottsay/daf9962561ca00c4a78f2bc9b390064b |
|
Cool idea, I will modify the PR to follow @cottsay (I will be traveling next week, so not sure when I will do it). |
|
No rush, thanks for considering the changes. I've used this tri-state pattern in other projects before with success, and it seem applicable here. |
I implemented this proposal in #592, as the PR substantially changed I opened a new one, feel free to review that PR when you have time, thanks! |
When building ros package for a rolling release distribution, if you want a ROS
***_vendorto use a distro package instead of building its own, typically you want the CMake configuration to fail with a clear message if it is not able to find the package at the required version, not silently start vendoring the package.To do so, I added the CMake option
AMENT_VENDOR_NEVER_VENDORthat by default isOFF, and ifON, raise aFATAL_ERRORif theSATISFIEDoption ofament_vendoris OFF, effectively ensuring thatament_vendornever vendors anything. I also added documentation in the macro header of theFORCE_BUILD_VENDOR_PKGCMake option that was missing.